/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * $Id$ ISecurityService.java
 * Universidad de los Andes (Bogotá - Colombia)
 * Departamento de Ingeniería de Sistemas y Computación
 * Licenciado bajo el esquema Academic Free License version 2.1
 *
 * Ejercicio: Muebles los Alpes
 * Autor: Camilo Alvarez
 * Autor: David Méndez
 * Autor: German Sotelo
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */
package com.losalpes.catalogo.servicios;

import com.losalpes.catalogo.entities.Usuario;
import com.losalpes.catalogo.excepciones.AuthenticationException;
import javax.ejb.Remote;

/**
 * Contrato funcional de los servicios de seguridad que se le prestan al catalogo.
 * Estos métodos son expuestos de manera remota para utilizarlos en pruebas.
 * @author Camilo Alvarez
 * @author David Méndez
 * @author German Sotelo
 */
@Remote
public interface ISecurityServiceRemote {

    /**
     * Registra el ingreso de un usuario al sistema.
     * @param usuario. Login del usuario que quiere ingresar al sistema.
     * @param pwd. Contraseña del usuario que quiere ingresar al sistema.
	 * @throws AuthenticationException. En caso de que la validación falle.
     * @return usuario. Retorna el objeto que contiene la información del usuario que ingreso al sistema.
     */
    public Usuario login(String usuario, String pwd) throws AuthenticationException;

}
